#ifndef CLIENT_H
#define CLIENT_H

#include <string>

class Session;

class Client
{
public:
    Client(unsigned int request_id, Session *session);

    ~Client();

    unsigned int getRequestID() const
    {
        return m_requestID;
    }

    Session *getSession() const
    {
        return m_session;
    }

    void sendRequest(const std::string name,
                    const std::string content_type,
                    unsigned long long content_length,
                    const void *data );

    void responseReceived(const std::string name,
                        const std::string content_type,
                        unsigned long long content_length,
                        const void *data);

private:

    unsigned int m_requestID;

    Session *m_session;

};


#endif
